home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_HDF.idb / usr / freeware / include / hdf / mstdio.h.z / mstdio.h
Encoding:
C/C++ Source or Header  |  1999-01-26  |  3.0 KB  |  90 lines

  1.  
  2. /****************************************************************************
  3.  * NCSA HDF                                                                 *
  4.  * Software Development Group                                               *
  5.  * National Center for Supercomputing Applications                          *
  6.  * University of Illinois at Urbana-Champaign                               *
  7.  * 605 E. Springfield, Champaign IL 61820                                   *
  8.  *                                                                          *
  9.  * For conditions of distribution and use, see the accompanying             *
  10.  * hdf/COPYING file.                                                        *
  11.  *                                                                          *
  12.  ****************************************************************************/
  13.  
  14. /* $Id: mstdio.h,v 1.12 1997/10/24 21:01:07 koziol Exp $ */
  15.  
  16. /*-----------------------------------------------------------------------------
  17.  * File:    mstdio.h
  18.  * Purpose: Header file for stdio-like modeling information.
  19.  * Dependencies: should be included after hdf.h
  20.  * Invokes:
  21.  * Contents: Structures & definitions for stdio modeling.  This header
  22.  *              should only be included in hcomp.c and mstdio.c.
  23.  * Structure definitions:
  24.  * Constant definitions:
  25.  *---------------------------------------------------------------------------*/
  26.  
  27. /* avoid re-inclusion */
  28. #ifndef __MSTDIO_H
  29. #define __MSTDIO_H
  30.  
  31. #if defined c_plusplus || defined __cplusplus
  32. extern      "C"
  33. {
  34. #endif                          /* c_plusplus || __cplusplus */
  35.  
  36. /*
  37.    ** from mstdio.c
  38.  */
  39.  
  40.     extern int32 HCPmstdio_stread
  41.                 (accrec_t * rec);
  42.  
  43.     extern int32 HCPmstdio_stwrite
  44.                 (accrec_t * rec);
  45.  
  46.     extern int32 HCPmstdio_seek
  47.                 (accrec_t * access_rec, int32 offset, int origin);
  48.  
  49.     extern int32 HCPmstdio_inquire
  50.                 (accrec_t * access_rec, int32 *pfile_id, uint16 *ptag, uint16 *pref,
  51.                int32 *plength, int32 *poffset, int32 *pposn, int16 *paccess,
  52.                  int16 *pspecial);
  53.  
  54.     extern int32 HCPmstdio_read
  55.                 (accrec_t * access_rec, int32 length, void * data);
  56.  
  57.     extern int32 HCPmstdio_write
  58.                 (accrec_t * access_rec, int32 length, const void * data);
  59.  
  60.     extern intn HCPmstdio_endaccess
  61.                 (accrec_t * access_rec);
  62.  
  63. #if defined c_plusplus || defined __cplusplus
  64. }
  65. #endif                          /* c_plusplus || __cplusplus */
  66.  
  67. /* model information about stdio model */
  68. typedef struct
  69. {
  70.     int32      pos;            /* postion ? */
  71. }
  72. comp_model_stdio_info_t;
  73.  
  74. #ifndef MSTDIO_MASTER
  75. extern funclist_t mstdio_funcs; /* functions to perform run-length encoding */
  76. #else
  77. funclist_t  mstdio_funcs =
  78. {                               /* functions to perform run-length encoding */
  79.     HCPmstdio_stread,
  80.     HCPmstdio_stwrite,
  81.     HCPmstdio_seek,
  82.     HCPmstdio_inquire,
  83.     HCPmstdio_read,
  84.     HCPmstdio_write,
  85.     HCPmstdio_endaccess
  86. };
  87. #endif
  88.  
  89. #endif /* __MSTDIO_H */
  90.